package cn.lili.modules.promotion.fallback;

import cn.lili.common.enums.PromotionTypeEnum;
import cn.lili.common.exception.ServiceException;
import cn.lili.modules.order.cart.entity.vo.CartSkuVO;
import cn.lili.modules.promotion.client.PromotionGoodsClient;
import cn.lili.modules.promotion.entity.dos.PromotionGoods;
import cn.lili.modules.promotion.entity.dto.search.PromotionGoodsSearchParams;
import org.springframework.stereotype.Component;

import java.util.Date;
import java.util.List;

/**
 * @author: ftyy
 * @date: 2022-01-13 18:42
 * @description: 描述
 */
public class PromotionGoodsFallback implements PromotionGoodsClient {
    @Override
    public List<PromotionGoods> findSkuValidPromotion(String skuId, String storeIds) {
        throw new ServiceException();
    }

    @Override
    public List<PromotionGoods> listFindAll(PromotionGoodsSearchParams searchParams) {
        throw new ServiceException();
    }

    @Override
    public PromotionGoods getPromotionsGoods(PromotionGoodsSearchParams searchParams) {
        throw new ServiceException();
    }

    @Override
    public PromotionGoods getValidPromotionsGoods(String skuId, List<String> promotionTypes) {
        throw new ServiceException();
    }

    @Override
    public Double getValidPromotionsGoodsPrice(String skuId, List<String> promotionTypes) {
        throw new ServiceException();
    }

    @Override
    public Integer findInnerOverlapPromotionGoods(
            String promotionType, String skuId, Date startTime, Date endTime, String promotionId) {
        throw new ServiceException();
    }

    @Override
    public Integer getPromotionGoodsStock(
            PromotionTypeEnum typeEnum, String promotionId, String skuId) {
        throw new ServiceException();
    }

    @Override
    public List<Integer> getPromotionGoodsStock(
            PromotionTypeEnum typeEnum, String promotionId, List<String> skuId) {
        throw new ServiceException();
    }

    /**
     * 更新促销活动商品库存
     *
     * @param promotionGoodsList 更新促销活动商品信息
     */
    @Override
    public void updatePromotionGoodsStock(List<PromotionGoods> promotionGoodsList) {
        throw new ServiceException();
    }

    @Override
    public void updatePromotionGoodsByPromotions(PromotionGoods promotionGoods) {
        throw new ServiceException();
    }

    @Override
    public void deletePromotionGoods(String promotionId, List<String> skuIds) {
        throw new ServiceException();
    }

    @Override
    public void deletePromotionGoods(List<String> promotionIds) {
        throw new ServiceException();
    }

    @Override
    public void deletePromotionGoods(PromotionGoodsSearchParams searchParams) {
        throw new ServiceException();
    }

    @Override
    public void updateBatchById(List<PromotionGoods> promotionGoods) {
        throw new ServiceException();
    }

    @Override
    public CartSkuVO getCurrentGoodsPromotion(CartSkuVO cartSkuVO) {
        throw new ServiceException();
    }
}
